"""
连接MySQL服务器，执行insert操作

SQL注入攻击（SQL注射攻击） ---> SQL Injection
"""
import pymysql

from utils import create_connection

no = int(input('编号: '))
name = input('名称: ')
loc = input('所在地: ')

# 第一步：创建连接对象
conn = create_connection(database='hrs')
try:
    # 第二步：通过连接对象获取游标对象
    with conn.cursor() as cursor:
        # 第三步：通过游标对象向数据库服务器发出SQL语句
        affected_rows = cursor.execute(
            'insert into `tb_dept` (`dno`, `dname`, `dloc`) '
            'values (%s, %s, %s)',
            (no, name, loc)
        )
        if affected_rows == 1:
            print('新增部门成功!')
    # 第四步：通过连接对象提交事务
    conn.commit()
except pymysql.MySQLError as err:
    print(err)
    # 第四步：通过连接对象回滚事务
    conn.rollback()
finally:
    # 第五步：关闭连接释放资源
    conn.close()
